package com.example.android.commitcontent.ime.dict.libs;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class PinYinCombinationDict {
    public static List<List<String>> pinyinAllList = new ArrayList<>();

    private static List<String> pinyinAList = new ArrayList<>();
    private static List<String> pinyinBList = new ArrayList<>();
    private static List<String> pinyinCList = new ArrayList<>();
    private static List<String> pinyinDList = new ArrayList<>();
    private static List<String> pinyinEList = new ArrayList<>();
    private static List<String> pinyinFList = new ArrayList<>();
    private static List<String> pinyinGList = new ArrayList<>();
    private static List<String> pinyinHList = new ArrayList<>();
    private static List<String> pinyinIList = new ArrayList<>();
    private static List<String> pinyinJList = new ArrayList<>();
    private static List<String> pinyinKList = new ArrayList<>();
    private static List<String> pinyinLList = new ArrayList<>();
    private static List<String> pinyinMList = new ArrayList<>();
    private static List<String> pinyinNList = new ArrayList<>();
    private static List<String> pinyinOList = new ArrayList<>();
    private static List<String> pinyinPList = new ArrayList<>();
    private static List<String> pinyinQList = new ArrayList<>();
    private static List<String> pinyinRList = new ArrayList<>();
    private static List<String> pinyinSList = new ArrayList<>();
    private static List<String> pinyinTList = new ArrayList<>();
    private static List<String> pinyinUList = new ArrayList<>();
    private static List<String> pinyinVList = new ArrayList<>();
    private static List<String> pinyinWList = new ArrayList<>();
    private static List<String> pinyinXList = new ArrayList<>();
    private static List<String> pinyinYList = new ArrayList<>();
    private static List<String> pinyinZList = new ArrayList<>();

    static {
        Collections.addAll(
                pinyinAllList,
                pinyinAList, pinyinBList, pinyinCList, pinyinDList, pinyinEList, pinyinFList, pinyinGList,
                pinyinHList, pinyinIList, pinyinJList, pinyinKList, pinyinLList, pinyinMList, pinyinNList,
                pinyinOList, pinyinPList, pinyinQList, pinyinRList, pinyinSList, pinyinTList, pinyinUList,
                pinyinVList, pinyinWList, pinyinXList, pinyinYList, pinyinZList);
        Collections.addAll(pinyinAList, "a", "ao", "ai", "an", "ang");
        Collections.addAll(pinyinBList,
                "ba", "bao", "bai", "ban", "bang",
                "bo",
                "bei", "ben", "beng",
                "bi", "bian", "biao", "bie", "bin", "bing",
                "bu");
        Collections.addAll(pinyinCList,
                "ca", "cao", "cai", "can", "cang",
                "cou", "cong",
                "ce", "cen", "ceng",
                "ci",
                "cu", "cuan", "cuo", "cui", "cun",
                "cha", "chao", "chai", "chan", "chang",
                "chou", "chong",
                "che", "chen", "cheng",
                "chi",
                "chu", "chuai", "chuan", "chuang", "chuo", "chui", "chun");
        Collections.addAll(pinyinDList,
                "da", "dao", "dai", "dan", "dang",
                "dou", "dong",
                "de", "dei", "den", "deng",
                "di", "dia", "diao", "dian", "die", "diu", "ding",
                "du", "duan", "duo", "dui", "dun");
        Collections.addAll(pinyinEList, "e", "en", "er");
        Collections.addAll(pinyinFList,
                "fa", "fan", "fang",
                "fo", "fou",
                "fei", "fen", "feng",
                "fu");
        Collections.addAll(pinyinGList,
                "ga", "gao", "gai", "gan", "gang",
                "gou", "gong",
                "ge", "gei", "gen", "geng",
                "gu", "gua", "guan", "guang", "guo", "gui", "gun");
        Collections.addAll(pinyinHList,
                "ha", "hao", "hai", "han", "hang",
                "hou", "hong",
                "he", "hei", "hen", "heng",
                "hu", "hua", "huai", "huan", "huang", "huo", "hui", "hun");
//                Collections.addAll(pinyinIList);
        Collections.addAll(pinyinJList,
                "ji", "jia", "jiao", "jian", "jiang", "jiong", "jie", "jiu", "jin", "jing",
                "ju", "juan", "jue", "jun");
        Collections.addAll(pinyinKList,
                "ka", "kao", "kai", "kan", "kang",
                "kou", "kong",
                "ke", "ken", "keng",
                "ku", "kua", "kuai", "kuan", "kuang", "kuo", "kui", "kun");
        Collections.addAll(pinyinLList,
                "la", "lao", "lai", "lan", "lang",
                "lou", "long", "leng",
                "le", "lei", "lie", "liu",
                "li", "liao", "lian", "liang", "lin", "ling",
                "lu", "luan", "luo", "lun",
                "lv", "lve");
        Collections.addAll(pinyinMList,
                "ma", "mao", "mai", "man", "mang",
                "mo", "mou",
                "me", "mei", "men", "meng",
                "mi", "miao", "mian", "mie", "miu", "min", "ming",
                "mu");
        Collections.addAll(pinyinNList,
                "na", "nao", "nai", "nan", "nang",
                "nou", "nong",
                "ne", "nei", "nen", "neng",
                "ni", "niao", "nian", "niang", "nie", "niu", "nin", "ning", "nuo",
                "nu", "nuan",
                "nv", "nve");
        Collections.addAll(pinyinOList, "o", "ou");
        Collections.addAll(pinyinPList,
                "pa", "pao", "pai", "pan", "pang",
                "po", "pou",
                "pei", "pen", "peng",
                "pi", "piao", "pian", "pie", "pin", "ping",
                "pu"
        );
        Collections.addAll(pinyinQList,
                "qi", "qia", "qiao", "qian", "qiang",
                "qiong",
                "qie", "qiu", "qin", "qing",
                "qu", "quan", "que", "qun");
        Collections.addAll(pinyinRList,
                "rao", "ran", "rang",
                "rou", "rong",
                "re", "ren", "reng",
                "ri",
                "ru", "ruan", "ruo", "rui", "run");
        Collections.addAll(pinyinSList,
                "sa", "sao", "sai", "san", "sang",
                "sou", "song",
                "se", "sen", "seng",
                "si",
                "su", "suan", "suo", "sui", "sun",
                "sha", "shao", "shai", "shan", "shang",
                "shou",
                "she", "shei", "shen", "sheng",
                "shi",
                "shu", "shua", "shuai", "shuan", "shuang", "shuo", "shui", "shun");
        Collections.addAll(pinyinTList,
                "ta", "tao", "tai", "tan", "tang",
                "tou", "tong",
                "te", "tei", "teng",
                "ti", "tiao", "tian", "tie", "ting", "tuo",
                "tu", "tuan", "tui", "tun");
//                Collections.addAll(pinyinUList);
//                Collections.addAll(pinyinVList);
        Collections.addAll(pinyinWList,
                "wa", "wai", "wan", "wang",
                "wo",
                "wei", "wen", "weng",
                "wu");
        Collections.addAll(pinyinXList,
                "xi", "xia", "xiao", "xian", "xiang", "xiong", "xie", "xiu", "xin", "xing",
                "xu", "xuan", "xue", "xun");
        Collections.addAll(pinyinYList,
                "ya", "yao", "yan", "yang",
                "you", "yong",
                "ye",
                "yi", "yin", "ying",
                "yu", "yuan", "yue", "yun");
        Collections.addAll(pinyinZList,
                "za", "zao", "zai", "zan", "zang",
                "zou", "zong",
                "ze", "zei", "zen", "zeng",
                "zi",
                "zu", "zuan", "zuo", "zui", "zun",
                "zha", "zhao", "zhai", "zhan", "zhang",
                "zhou", "zhong",
                "zhe", "zhei", "zhen", "zheng",
                "zhi",
                "zhu", "zhuai", "zhuan", "zhuang", "zhui", "zhun");
    }
}
